Complex electronic circuits have found many applications in today's world. All too often, the design of these complex electronic circuits is a long and complicated process. As the complexity of the design of electronic circuits continues to increase, the difficulty in locating and correcting problems associated with the construction and operation of the electronic circuits will, almost certainly, also continue to increase.
One apparatus that has been developed to assist in determining the cause of problems in a complex electronic circuit is called an “in-circuit emulation debugger.” An in-circuit emulation debugger allows a user to operate a complex electronic circuit, such as a digital signal processor (DSP), within an emulated operating environment and examine the state of the circuit during its operation at any given point in time. An in-circuit emulation debugger does not simply stop or suspend the circuit, because data may be in transit on busses between components when the circuit's state is desired to be examined. Instead, an in-circuit emulation debugger gently stops the circuit, so that the data in transit can be captured.
A “breakpoint” is a time at which the state of the circuit is to be determined. In-circuit emulation debuggers may stop a circuit through a breakpoint that has been previously defined. Breakpoints may be established, for example, based on a address instruction, data storage or software memory access commands. Unlike some other debugging tools, conventional in-circuit emulation debuggers do not require a user to alter a software program or memory to indicate when a breakpoint has been reached. Instead, in-circuit emulation debuggers may use hardware to actually stop a core processor without altering software programs within the core processor. Though an excellent tool for determining and solving problems associated with constructing DSPs, traditional in-circuit emulation debuggers do not provide enough breakpoint features for advance debugging and monitoring.
Accordingly, what is needed in the art is an improved in-circuit emulator debugger and a method that provides more flexibility and monitoring for debugging complex electronic circuits such as a digital signal processor.